<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.5"/>
<title>wdttb: xwdttb_winwdt_example.c File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="HTML_custom.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="xlogo_bg.png"/></td>
  <td style="padding-left: 0.5em;">
   <div id="projectname">wdttb
   </div>
   <div id="projectbrief">Vitis Drivers API Documentation</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.5 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Overview</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="globals.html"><span>APIs</span></a></li>
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="pages.html"><span>Examples</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('xwdttb__winwdt__example_8c.html','');});
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#define-members">Macros</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">xwdttb_winwdt_example.c File Reference</div>  </div>
</div><!--header-->
<div class="contents">
<a name="details" id="details"></a><h2 class="groupheader">Overview</h2>
<div class="textblock"><p>This file contains a design example using the Watchdog Timer Timebase (<a class="el" href="struct_x_wdt_tb.html" title="The XWdtTb driver instance data. ">XWdtTb</a>) driver with window feature. </p>
<p>The WDTTB core will be generated either in legacy or window feature.</p>
<dl class="section note"><dt>Note</dt><dd></dd></dl>
<p>None</p>
<p>MODIFICATION HISTORY:</p>
<pre>
Ver   Who  Date     Changes
</p>
<hr/>
<p>
4.0   sha  02/04/16 First release.
4.4   sne  03/04/19 Added support for Versal.
4.5     sne  09/27/19 Updated example file to support AXI Timebase WDT
              and WWDT.
5.0     sne  03/11/20 Added XWdtTb_ConfigureWDTMode api to configure
              mode.
5.7     sb   07/12/23 Added support for system device-tree flow.
5.9     ht   07/22/24 Add support for peripheral tests in SDT flow.
5.10  ht   10/28/24 Fix compilation warnings in SDT flow peripheral tests.</pre><pre></pre> </div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:a2f5793923e00b88a8fb0acb82f94a9af"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xwdttb__winwdt__example_8c.html#a2f5793923e00b88a8fb0acb82f94a9af">WDTTB_FW_COUNT</a>&#160;&#160;&#160;31</td></tr>
<tr class="memdesc:a2f5793923e00b88a8fb0acb82f94a9af"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of clock cycles for first window.  <a href="#a2f5793923e00b88a8fb0acb82f94a9af">More...</a><br/></td></tr>
<tr class="separator:a2f5793923e00b88a8fb0acb82f94a9af"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8090b9e054a00a126b6baa1cd2118305"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xwdttb__winwdt__example_8c.html#a8090b9e054a00a126b6baa1cd2118305">WDTTB_SW_COUNT</a>&#160;&#160;&#160;0x01110000</td></tr>
<tr class="memdesc:a8090b9e054a00a126b6baa1cd2118305"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of clock cycles for second window.  <a href="#a8090b9e054a00a126b6baa1cd2118305">More...</a><br/></td></tr>
<tr class="separator:a8090b9e054a00a126b6baa1cd2118305"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1aee861e5a8130a2590fbabd10cccbeb"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xwdttb__winwdt__example_8c.html#a1aee861e5a8130a2590fbabd10cccbeb">WDTTB_BYTE_COUNT</a>&#160;&#160;&#160;154</td></tr>
<tr class="memdesc:a1aee861e5a8130a2590fbabd10cccbeb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Selected byte count.  <a href="#a1aee861e5a8130a2590fbabd10cccbeb">More...</a><br/></td></tr>
<tr class="separator:a1aee861e5a8130a2590fbabd10cccbeb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0f042882baa1ded6c87fd10cfab456db"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xwdttb__winwdt__example_8c.html#a0f042882baa1ded6c87fd10cfab456db">WDTTB_BYTE_SEGMENT</a>&#160;&#160;&#160;2</td></tr>
<tr class="memdesc:a0f042882baa1ded6c87fd10cfab456db"><td class="mdescLeft">&#160;</td><td class="mdescRight">Byte segment selected.  <a href="#a0f042882baa1ded6c87fd10cfab456db">More...</a><br/></td></tr>
<tr class="separator:a0f042882baa1ded6c87fd10cfab456db"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae8b4b1a275d1d9e87eb2f9aadb1b61dd"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xwdttb__winwdt__example_8c.html#ae8b4b1a275d1d9e87eb2f9aadb1b61dd">WDTTB_SST_COUNT</a>&#160;&#160;&#160;0x00011000</td></tr>
<tr class="memdesc:ae8b4b1a275d1d9e87eb2f9aadb1b61dd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of clock cycles for Second sequence Timer.  <a href="#ae8b4b1a275d1d9e87eb2f9aadb1b61dd">More...</a><br/></td></tr>
<tr class="separator:ae8b4b1a275d1d9e87eb2f9aadb1b61dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ab62b75f543740c10d9aa3d4391fa3419"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xwdttb__winwdt__example_8c.html#ab62b75f543740c10d9aa3d4391fa3419">WinWdtTbExample</a> (u16 DeviceId)</td></tr>
<tr class="memdesc:ab62b75f543740c10d9aa3d4391fa3419"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function tests the functioning of the TimeBase WatchDog Timer module with window feature in the polled mode.  <a href="#ab62b75f543740c10d9aa3d4391fa3419">More...</a><br/></td></tr>
<tr class="separator:ab62b75f543740c10d9aa3d4391fa3419"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a840291bc02cba5474a4cb46a9b9566fe"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xwdttb__winwdt__example_8c.html#a840291bc02cba5474a4cb46a9b9566fe">main</a> (void)</td></tr>
<tr class="memdesc:a840291bc02cba5474a4cb46a9b9566fe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Main function to call the example.This function is not included if the example is generated from the TestAppGen test tool.  <a href="#a840291bc02cba5474a4cb46a9b9566fe">More...</a><br/></td></tr>
<tr class="separator:a840291bc02cba5474a4cb46a9b9566fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a class="anchor" id="a1aee861e5a8130a2590fbabd10cccbeb"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define WDTTB_BYTE_COUNT&#160;&#160;&#160;154</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Selected byte count. </p>

<p>Referenced by <a class="el" href="xwdttb__winwdt__example_8c.html#ab62b75f543740c10d9aa3d4391fa3419">WinWdtTbExample()</a>.</p>

</div>
</div>
<a class="anchor" id="a0f042882baa1ded6c87fd10cfab456db"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define WDTTB_BYTE_SEGMENT&#160;&#160;&#160;2</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Byte segment selected. </p>

<p>Referenced by <a class="el" href="xwdttb__winwdt__example_8c.html#ab62b75f543740c10d9aa3d4391fa3419">WinWdtTbExample()</a>.</p>

</div>
</div>
<a class="anchor" id="a2f5793923e00b88a8fb0acb82f94a9af"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define WDTTB_FW_COUNT&#160;&#160;&#160;31</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Number of clock cycles for first window. </p>

<p>Referenced by <a class="el" href="xwdttb__winwdt__example_8c.html#ab62b75f543740c10d9aa3d4391fa3419">WinWdtTbExample()</a>.</p>

</div>
</div>
<a class="anchor" id="ae8b4b1a275d1d9e87eb2f9aadb1b61dd"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define WDTTB_SST_COUNT&#160;&#160;&#160;0x00011000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Number of clock cycles for Second sequence Timer. </p>

<p>Referenced by <a class="el" href="xwdttb__winwdt__example_8c.html#ab62b75f543740c10d9aa3d4391fa3419">WinWdtTbExample()</a>.</p>

</div>
</div>
<a class="anchor" id="a8090b9e054a00a126b6baa1cd2118305"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define WDTTB_SW_COUNT&#160;&#160;&#160;0x01110000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Number of clock cycles for second window. </p>

<p>Referenced by <a class="el" href="xwdttb__winwdt__example_8c.html#ab62b75f543740c10d9aa3d4391fa3419">WinWdtTbExample()</a>.</p>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="a840291bc02cba5474a4cb46a9b9566fe"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int main </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Main function to call the example.This function is not included if the example is generated from the TestAppGen test tool. </p>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS if successful.</li>
<li>XST_FAILURE if unsuccessful.</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

</div>
</div>
<a class="anchor" id="ab62b75f543740c10d9aa3d4391fa3419"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int WinWdtTbExample </td>
          <td>(</td>
          <td class="paramtype">u16&#160;</td>
          <td class="paramname"><em>DeviceId</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function tests the functioning of the TimeBase WatchDog Timer module with window feature in the polled mode. </p>
<p>In window, this function polls interrupt programmed point in second window, checks the interrupt bit is set. If the bit is set clears the bit and restart the watchdog timer. If bit is not cleared before overflowing the second window, the watchdog timer resets.</p>
<p>This function may require some time (seconds or even minutes) to execute because it waits for the watchdog timer to expire.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">DeviceId</td><td>is the XPAR_&lt;WDTB_instance&gt;_DEVICE_ID value from xparameters.h.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS, in window, there is no bad event.</li>
<li>XST_FAILURE, otherwise.</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>References <a class="el" href="struct_x_wdt_tb___config.html#a3867e6f3038fe367e0072a85125f5391">XWdtTb_Config::BaseAddr</a>, <a class="el" href="struct_x_wdt_tb.html#a9841f60870d97e7bc296dd419c75023f">XWdtTb::Config</a>, <a class="el" href="struct_x_wdt_tb___config.html#a65e0fbb18c9d9e5ed66403c08378af72">XWdtTb_Config::IsPl</a>, <a class="el" href="xwdttb__winwdt__example_8c.html#a1aee861e5a8130a2590fbabd10cccbeb">WDTTB_BYTE_COUNT</a>, <a class="el" href="xwdttb__winwdt__example_8c.html#a0f042882baa1ded6c87fd10cfab456db">WDTTB_BYTE_SEGMENT</a>, <a class="el" href="xwdttb__winwdt__example_8c.html#a2f5793923e00b88a8fb0acb82f94a9af">WDTTB_FW_COUNT</a>, <a class="el" href="xwdttb__winwdt__example_8c.html#ae8b4b1a275d1d9e87eb2f9aadb1b61dd">WDTTB_SST_COUNT</a>, <a class="el" href="xwdttb__winwdt__example_8c.html#a8090b9e054a00a126b6baa1cd2118305">WDTTB_SW_COUNT</a>, <a class="el" href="group__wdttb__api.html#gadf3c428b985d77e28b5df5cd5d82dff3">XWdtTb_CfgInitialize()</a>, <a class="el" href="group__wdttb__api.html#gafbd0c485e4a716fd1c6dc5cea084f759">XWdtTb_ClearResetPending()</a>, <a class="el" href="group__wdttb__api.html#ga31311c4f3e1f921ab55d005e0a0ff028">XWdtTb_DisableExtraProtection()</a>, <a class="el" href="group__wdttb__api.html#ga3ec7a898566961227074db888ab4e222">XWdtTb_DisableFailCounter()</a>, <a class="el" href="group__wdttb__api.html#ga12faff17b943f0cbf70a6d639280a630">XWdtTb_DisablePsm()</a>, <a class="el" href="group__wdttb__api.html#ga3fbc0d643f910953abf6e476cf13c5e8">XWdtTb_DisableSst()</a>, <a class="el" href="group__wdttb__api.html#ga8eacf75d4a475f687640902f5219f4de">XWdtTb_EnableExtraProtection()</a>, <a class="el" href="group__wdttb__api.html#ga595c530371577b29e0a5e090d9967205">XWdtTb_EnableFailCounter()</a>, <a class="el" href="group__wdttb__api.html#ga29cdd15b771748985524abd19a1aead0">XWdtTb_EnablePsm()</a>, <a class="el" href="group__wdttb__api.html#ga4c9f9d6df6c3c96c579ab7c2f1c350ec">XWdtTb_EnableSst()</a>, <a class="el" href="group__wdttb__api.html#gaf2b1b1175aac0974fa1c9c1c7c50550c">XWdtTb_IntrClear()</a>, <a class="el" href="group__wdttb__api.html#gaee07fe98efd02a8c9a21aeb15b968dc3">XWdtTb_LookupConfig()</a>, <a class="el" href="group__wdttb__api.html#gga6ce266ea00535f8b8c9594d2e1f0e630a46d6c3798d61cc4e49a0d5a117c2c44c">XWDTTB_NO_BAD_EVENT</a>, <a class="el" href="xwdttb__hw_8h.html#afa6b4b0d4c816cd9bd6da3c9fe7caac3">XWdtTb_ReadReg</a>, <a class="el" href="group__wdttb__api.html#gaf1baa5a1d69ac6c61ecc62d5df1a0c01">XWdtTb_RestartWdt()</a>, <a class="el" href="group__wdttb__api.html#gaa9e410506154d92a551b6261742d98b1">XWdtTb_SelfTest()</a>, <a class="el" href="group__wdttb__api.html#gaa1e121c7e6b69d7b10fedf92d91b5396">XWdtTb_SetByteCount()</a>, <a class="el" href="group__wdttb__api.html#ga26519cefd97128dca8d1f147f5364945">XWdtTb_SetByteSegment()</a>, <a class="el" href="group__wdttb__api.html#ga924185ce28862e06ea62fa4f51bfed8d">XWdtTb_SetWindowCount()</a>, <a class="el" href="group__wdttb__api.html#gaab195e280eca1e2985509d954c2e4e52">XWdtTb_Start()</a>, <a class="el" href="group__wdttb__api.html#gacd5617bce061deaa57743ea46008daf8">XWdtTb_Stop()</a>, <a class="el" href="xwdttb__hw_8h.html#a36d539f7262d0267924d2ef5612f0cc2">XWdtTb_WriteReg</a>, <a class="el" href="group__wdttb__api.html#ga8bbfe46af730f1e35b02a1808ff03801">XWT_STR_OFFSET</a>, <a class="el" href="group__wdttb__api.html#ga382bb24e468cb44f1e41e637b55bf2ac">XWT_STR_WWDT_OFFSET</a>, <a class="el" href="group__wdttb__api.html#ga5eda163c25dfcd74c15bf08ed8c1328e">XWT_TSR0_OFFSET</a>, <a class="el" href="group__wdttb__api.html#ga2bb97a5e8848b30592b0d0136c0eba15">XWT_TSR0_WWDT_OFFSET</a>, <a class="el" href="group__wdttb__api.html#ga1e231a73df7e205e266fb1198e222814">XWT_TSR1_OFFSET</a>, <a class="el" href="group__wdttb__api.html#ga86f549a5c1a92ee963e1516d6e271f92">XWT_TSR1_WWDT_OFFSET</a>, and <a class="el" href="xwdttb__hw_8h.html#a812114b38de6dd94691113164c16bf26">XWT_WWDT</a>.</p>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
	<p class="footer">&copy; Copyright 2015-2022 Xilinx, Inc. All Rights Reserved.</p>
	<p class="footer">&copy; Copyright 2022-2023 Advanced Micro Devices, Inc. All Rights Reserved.</p>
</div>
</body>
</html>
